home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Textfiles / Programmer's Digest 1.0.sit / The Programmer's Digest™ 1.0 / Sizeof code example next >
Text File  |  1998-11-04  |  2KB  |  42 lines

  1. /* using the built in sizeof() funtion to find the size of the basic
  2. variable types in bytes.  Then I will do some math to find how many
  3. values can be held in each of the major types(remember that some can be
  4. 1/2 positive, 1/2 negative)*/
  5.  
  6. #include <stdio.h>
  7.  
  8. long byteconverter(int);
  9. /* this is a function protocol.  It declares the new function and allows your code to see it, without you having to declare it right here */
  10.  
  11. int main(void)
  12. {
  13. /* declaring variables */
  14.         int charsize=0, shortsize=0, intsize=0,longsize=0,unsignedsize=0;
  15.  
  16. /* doing math with the returned value of sizeof to give basic size(in bytes) and convert it using byteconverter()-I declared it at the top of the code,and define it at the bottom.  Byteconverter takes the number of bytes, and returns the decimal number. */
  17.         charsize= byteconverter(sizeof(char));
  18.         shortsize=byteconverter( sizeof(short));
  19.         intsize= byteconverter(sizeof(int));
  20.         shortsize=byteconverter( sizeof(short));
  21.         intsize= byteconverter(sizeof(int));
  22.         longsize= byteconverter( sizeof(long));
  23.         unsignedsize=byteconverter(sizeof(unsigned));
  24.  
  25.         printf("\nThe size of some of the types are given to you\n");
  26.         printf("How many values a char can hold:%d\n", charsize);
  27.         printf("How many values a short can hold:%d\n", shortsize);
  28.         printf("How many values a int can hold:%d \n", intsize);
  29.         printf("How many values a long can hold:%d\n", longsize);
  30.         printf("How many values a unsigned can hold:%d\n", unsignedsize);
  31.         return 0;
  32. }
  33.  
  34.  
  35. long byteconverter(int x)
  36. {
  37.         int placer = x * 4;
  38.         int i, y=1 ;
  39.         for(i=0;i<placer;i++)
  40.                 y = y * 2;
  41.         return y;
  42. }